﻿/**
 *
 * @file BrowserTableHandlerNCTUserDefined.h
 * @brief 自定义声学包表格处理器
 * @author wangning (2185896382@qq.com)
 * @date 2024-12-16
 *
 */
#ifndef _WIDGET_TABLEHANDLER_NCT_UserDefined_H___
#define _WIDGET_TABLEHANDLER_NCT_UserDefined_H___

#include "BrowserTableHandlerNCTAbstract.h"

namespace GUI
{
    /**
     * @brief 自定义声学包表格处理器
     * @author wangning (2185896382@qq.com)
     * @date 2024-12-16
     */
    class GUIWIDGETAPI BrowserTableHandlerNCTUserDefined :
        public BrowserTableHandlerNCTAbstract
    {
    public:
        /**
         * @brief 构造函数
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        using BrowserTableHandlerNCTAbstract::BrowserTableHandlerNCTAbstract;
        /**
         * @brief Destroy the Browser Table Handler NCT object
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        virtual ~BrowserTableHandlerNCTUserDefined() = default;
        /**
         * @brief 更新表格，包含头与数据
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        void updateTable() override;
        /**
        * @brief 更新表格数据
        * @author wangning (2185896382@qq.com)
        * @date 2024-12-16
        */
        void updateData() override;
        /**
        * @brief 通过ID获取频谱
        * @author wangning (2185896382@qq.com)
        * @date 2024-12-16
        */
        QString getSpectra(int id) ;
    protected:
        /**
         * @brief 获取声学包操作器
         * @return EventOper::OperAbstractMaterial*
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        EventOper::OperAbstractNCT* getNCTOper() override;
        /**
         * @brief 是否允许批量修改
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        bool enableAttriSet() override;

    };
}

#endif